-
Notifications
You must be signed in to change notification settings - Fork 440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a simplistic "make install" target #85
Conversation
To really do this properly would probably mean setting up autoconf and/or automake, which doesn't sound like a ton of fun. This mimics a subset of what such a system would produce, which should make life easier for distribution packagers. This tangentally addresses google#53.
Does the autoconf stuff you're working on need this or replace this? |
It would replace this. |
I have the autotools stuff working now, but haven't worked out how to get the tests back into it yet. Almost there. |
Just wondering, what is the motivation for choosing Autotools over CMake? |
To be completely honest I didn't give that a lot of consideration; it's just because I've used autotools a bit in the past and it seems like the universal lowest-common-denominator build system. Personally I'd prefer to use Bazel, but having a generic |
libtool does make the autotools build pretty slick though; it correctly builds shared libraries with pkgconfig metadata on linux, macos, and probably a bunch of other platforms without further fiddling. |
cmake does build visual studio files which might be useful. However last time I tried to build Jsonnet on msvc, it crashed the compiler... So probably best for people to use g++ on windows for now. Ditto on bazel -- it's nice but I think we'll need the fallback and then we'll have to maintain both and that would be a pain. I have fixed the integration tests btw, merge master to get that. |
Just remembered that we do actually have a bazel BUILD file now... :) |
I'll get back to the autotools project in a few days, I think. Might also try doing it with cmake to see how that goes. |
The irony is Jsonnet is a great tool for describing builds :) |
Heh, in that case Repobuild might be an appealing build system! (I'm not being serious, but you may find it amusing: it's like bazel, but uses JSON instead of a python-like dsl) |
From Repobuild's README:
Now that's a bit of old history. :) Similarly, Kythe also had its own custom Campfire build system, which was also similar to BUILD but used JSON, before they fully switched to Bazel. |
To really do this properly would probably mean setting up autoconf
and/or automake, which doesn't sound like a ton of fun. This mimics a
subset of what such a system would produce, which should make life
easier for distribution packagers.